Security News
cURL Project and Go Security Teams Reject CVSS as Broken
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
@turf/tin is a module of the Turf.js library that allows you to create a Triangulated Irregular Network (TIN) from a set of points. TINs are used in geographic information systems (GIS) to represent a surface. This package is particularly useful for spatial analysis and geospatial data visualization.
Create TIN from Points
This feature allows you to create a TIN from a set of points. Each point can have properties such as elevation, which can be used to create the TIN. The code sample demonstrates how to create a TIN from three points with elevation properties.
const turf = require('@turf/tin');
const points = turf.featureCollection([
turf.point([0, 0], {elevation: 10}),
turf.point([10, 10], {elevation: 20}),
turf.point([20, 20], {elevation: 30})
]);
const tin = turf.tin(points, 'elevation');
console.log(JSON.stringify(tin));
d3-delaunay is a D3 module that provides fast algorithms for computing Delaunay triangulations and Voronoi diagrams. It is similar to @turf/tin in that it can be used to create triangulated networks from a set of points. However, d3-delaunay is more focused on performance and is often used in data visualization contexts.
earcut is a fast, robust polygon triangulation library. While it is not specifically designed for geospatial data, it can be used to triangulate polygons, which is a similar operation to creating a TIN. earcut is known for its speed and simplicity.
triangulate is a simple library for triangulating 2D polygons. It is similar to @turf/tin in that it can be used to create a network of triangles from a set of points. However, it is more general-purpose and not specifically designed for geospatial applications.
Takes a set of points and the name of a z-value property and creates a Triangulated Irregular Network, or a TIN for short, returned as a collection of Polygons. These are often used for developing elevation contour maps or stepped heat visualizations.
This triangulates the points, as well as adds properties called a
, b
,
and c
representing the value of the given propertyName
at each of
the points that represent the corners of the triangle.
Parameters
points
FeatureCollection<Point> input pointsz
[String] name of the property from which to pull z values
This is optional: if not given, then there will be no extra data added to the derived triangles.Examples
// generate some random point data
var points = turf.random('points', 30, {
bbox: [50, 30, 70, 50]
});
//=points
// add a random property to each point between 0 and 9
for (var i = 0; i < points.features.length; i++) {
points.features[i].properties.z = ~~(Math.random() * 9);
}
var tin = turf.tin(points, 'z')
for (var i = 0; i < tin.features.length; i++) {
var properties = tin.features[i].properties;
// roughly turn the properties of each
// triangle into a fill color
// so we can visualize the result
properties.fill = '#' + properties.a +
properties.b + properties.c;
}
//=tin
Returns FeatureCollection<Polygon> TIN output
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Install this module individually:
$ npm install @turf/tin
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
FAQs
turf tin module
The npm package @turf/tin receives a total of 605,425 weekly downloads. As such, @turf/tin popularity was classified as popular.
We found that @turf/tin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.